home *** CD-ROM | disk | FTP | other *** search
/ Workbench Add-On / Workbench Add-On - Volume 1.iso / Dev / Oberon / source / amiga / RexxSysLib.mod < prev    next >
Text File  |  1995-06-29  |  2KB  |  94 lines

  1. (**************************************************************************
  2.  
  3.      $RCSfile: RexxSysLib.mod $
  4.   Description: Interface to rexxsyslib.library
  5.  
  6.    Created by: fjc (Frank Copeland)
  7.     $Revision: 3.8 $
  8.       $Author: fjc $
  9.         $Date: 1995/06/04 23:13:14 $
  10.  
  11.   $VER: rexxsyslib_protos.h 36.3 (19.2.91)
  12.   Includes Release 40.15
  13.  
  14.   (C) Copyright 1990-1993 Commodore-Amiga, Inc.
  15.       All Rights Reserved
  16.  
  17.   Oberon-A interface Copyright © 1994-1995, Frank Copeland.
  18.   This file is part of the Oberon-A Interface.
  19.   See Oberon-A.doc for conditions of use and distribution.
  20.  
  21. ***************************************************************************)
  22.  
  23. <* STANDARD- *>
  24.  
  25. MODULE [2] RexxSysLib;
  26.  
  27. IMPORT SYS := SYSTEM, Kernel, e := Exec, rx := Rexx, s := Sets;
  28.  
  29. (*-- Library Base variable --------------------------------------------*)
  30.  
  31. CONST
  32.  
  33.   rexxsysName * = "rexxsyslib.library";
  34.  
  35. VAR
  36.  
  37.   base *  : rx.RxsLibPtr;
  38.  
  39. (*-- Library Functions ------------------------------------------------*)
  40.  
  41. (* --- functions in V33 or higher (distributed as Release 1.2) ---*)
  42.  
  43. PROCEDURE CreateArgstring* [base,-126]
  44.   ( string [8] : ARRAY OF CHAR;
  45.     length [0] : e.ULONG )
  46.   : e.LSTRPTR;
  47. PROCEDURE DeleteArgstring* [base,-132]
  48.   ( argstring [8] : e.LSTRPTR );
  49. PROCEDURE LengthArgstring* [base,-138]
  50.   ( argstring [8] : e.LSTRPTR )
  51.   : e.ULONG;
  52. PROCEDURE CreateRexxMsg* [base,-144]
  53.   ( port      [8] : e.MsgPortBasePtr;
  54.     extension [9] : ARRAY OF CHAR;
  55.     host      [0] : ARRAY OF CHAR )
  56.   : rx.RexxMsgPtr;
  57. PROCEDURE DeleteRexxMsg* [base,-150]
  58.   ( packet [8] : rx.RexxMsgPtr );
  59. PROCEDURE ClearRexxMsg* [base,-156]
  60.   ( msgptr [8] : rx.RexxMsgPtr;
  61.     count  [0] : e.ULONG );
  62. PROCEDURE FillRexxMsg* [base,-162]
  63.   ( msgptr [8] : rx.RexxMsgPtr;
  64.     count  [0] : e.ULONG;
  65.     mask   [1] : s.SET16 )
  66.   : BOOLEAN;
  67. PROCEDURE IsRexxMsg* [base,-168]
  68.   ( msgptr [8] : rx.RexxMsgPtr )
  69.   : BOOLEAN;
  70.  
  71.  
  72. PROCEDURE LockRexxBase* [base,-450]
  73.   ( resource [0] : e.ULONG );
  74. PROCEDURE UnlockRexxBase* [base,-456]
  75.   ( resource [0] : e.ULONG );
  76.  
  77.  
  78. (*-- Library Base variable --------------------------------------------*)
  79.  
  80. <*$LongVars-*>
  81.  
  82. (*-----------------------------------*)
  83. PROCEDURE* [0] CloseLib (VAR rc : LONGINT);
  84.  
  85. BEGIN (* CloseLib *)
  86.   IF base # NIL THEN e.CloseLibrary (base) END;
  87. END CloseLib;
  88.  
  89. BEGIN
  90.   base := SYS.VAL (rx.RxsLibPtr,
  91.                    e.OpenLibrary (rexxsysName, e.libraryMinimum));
  92.   IF base # NIL THEN Kernel.SetCleanup (CloseLib) END
  93. END RexxSysLib.
  94.